import { GetLeaveRemaining, PostLeaveRemaining } from "/constData/requestFun/_teseRequest";

Page({
  data: {
    dataType: ['事假','病假', '年假', '产假', '陪产假', '婚假', '丧假'],
    userList: [],
    ReceiveData: [],
  },
  onLoad() {
    
  },
  userCheckHandle() {
    my.complexChoose({
      title: "选择需要设定假期的人员", //标题
      multiple: true, //是否多选
      responseUserOnly: true, //返回人，或者返回人和部门
      success: (res) => {
        this.setData({
          userList: res.users.map(it => ({ ...it }))
        })
      }
    })
  },
  valueChangeHandle(value, e) {
    const { type, name } = e.target.dataset
    this.setData({
      userList: this.data.userList.map(it => it.name === name ? { ...it, [type]: value } : it)
    })


  },
  SaveLeave() {
    const dataToSend=convertDataToApiFormat(this.data.userList);
    PostLeaveRemaining(JSON.stringify(dataToSend),(res)=>{
      my.alert({
        title: '保存成功',
      });
    },(err)=>{

    }) 
  },
})


// 转换数据的函数  
function convertDataToApiFormat(rawData) {
  const convertedData = [];
  // 遍历原始数据数组  
  rawData.forEach((employee) => {
    // 为每种假期类型创建一个新对象并添加到convertedData中  
    const leaveTypes = ['事假', '病假', '年假', '产假', '陪产假', '婚假', '丧假']; // 假设这些是所有可能的假期类型  
    leaveTypes.forEach((leaveType) => {
      const cnt = employee[leaveType] || 0; // 获取假期数量，如果不存在则默认为0  
      if (cnt > 0) { // 如果假期数量大于0，则创建新对象并添加到数组中  
        convertedData.push({
          userId: employee.userId, // 员工ID  
          leaveType, // 假期类型  
          cnt: parseInt(cnt, 10) // 假期数量（转换为整数）  
        });
      }
    });
  });
  return convertedData;
} 